Packet-switched networks are responsible for forwarding packet-based traffic. In some hardware devices, such as switches and routers, a system breaks packets into fixed-length cells and forwards the cells from an ingress, across a switching fabric, to an egress, where the system typically reassembles the cells into packets.
Systems with multiple switching fabrics may forward cells in parallel or serially. These configurations are discussed in co-pending patent application serial number (TBD), entitled “OPTIMAL LOAD BALANCING ACROSS MULTIPLE SWITCHING FABRICS”, which is incorporated herein by reference. As the number of data paths grows, error detection, error correction, and system maintenance become more complex. More data paths means more chances for data paths to fail. Moreover, systems with many data paths may require more hardware components, such as multiple switching fabrics. Swapping components in and out of a system can cause more frequent failures.
In view of the desire to perform error recovery and other maintenance in a system with multiple switching fabrics, what is needed is a means for performing online diagnostics. In addition, it would be advantageous to perform offline diagnostics for some data paths without interfering with data transmission on other paths. This would enable the system to remain online while diagnosing some paths offline. It would further be advantageous to detect errors across a given path even when no data is transmitted along the given path. This would enable the system to differentiate between “no traffic” and a “broken path”. It would further be advantageous to facilitate the addition and removal of switching fabrics while seamlessly transmitting traffic. This would enable changing, maintaining, or upgrading system hardware without taking the system offline. It would further be advantageous to detect nonfunctional queues in the switching fabric and respond by selectively flushing the nonfunctional queues, thereby limiting the impact on other system resources. It would be further advantageous to provide automatic initialization of newly added switching fabrics. It would be further advantageous to perform online detection and correction of errors.